package com.guodi.model.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.guodi.model.entity.IdtIndicatorsType;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @描述：指标分类表 Mapper 接口
 * @作者: 彭辉
 * @日期: 2020-06-05
 */
public interface IdtIndicatorsTypeMapper extends BaseMapper<IdtIndicatorsType> {

    /**
     * @描述:查询最大的排序值
     * @入参:
     * @出参:
     * @作者: 戴伙进
     * @日期: 2020/6/10 11:54
    **/
    Integer selectMaxSort();

    /**
    * @描述: 递归删除子节点数据
    * @入参:
    * @出参:
    * @作者: 代鹏刚
    * @日期: 2021/9/27 18:14
    **/
    void deleteByParentId(String parentId);

    /**
    * @描述: 根据体系编码、年份、行政区划检索数据
    * @入参:
    * @出参:
    * @作者: 代鹏刚
    * @日期: 2021/9/28 16:53
    **/
    List<IdtIndicatorsType> findByCode(@Param("code") String code, @Param("year") String year, @Param("divisionCode") String divisionCode);

    /**
    * @描述: 根据体系编码获取下级列表数据
    * @入参:
    * @出参:
    * @作者: 代鹏刚
    * @日期: 2021/10/8 11:42
    **/
    List<IdtIndicatorsType> listByType(String idtType);

    /**
     * 根据指标id或者指标编码、年份、行政区划，返回这个指标所在的指标体系。
     * @入参： idtCode 指标编码（idtCode 和 idtId必须有一个存在，如果都存在，则以idtId 为准，idtCode 是指标的自增编码）
     * @入参： idtId 指标id（idtCode 和 idtId必须有一个存在，如果都存在，则以idtId 为准）
     * @入参： year 年份，单个年份
     * @入参： divisionCode 行政区划，单个行政区划
     * @出参： 如果没有对应的指标体系，返回空列表，而不是null
     * @作者： 陈宏成
     * @日期： 2021/10/9
     */
    List<IdtIndicatorsType> findTypeForIdt(@Param("idtCode") String idtCode, @Param("idtId") String idtId, @Param("year") String year, @Param("divisionCode") String divisionCode);
}
